package com.barbeque.mall.service.mallmanagement;

import com.barbeque.mall.bean.BasePageInfo;
import com.barbeque.mall.bean.order.*;
import com.barbeque.mall.bean.param.CommonData;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface OrderService {
    /**
     * 查找快递公司信息
     * @author ycc
     * @since 2022/07/16 16:10 
     */
    List<ChannelVo> channel();

    /**
     * 按页码显示订单信息
     * @param start 开始时间
     * @param end 截至时间
     * @param orderStatusArray ：订单状态码
     * @author ycc
     * @since 2022/07/17 17:56
     */
    CommonData<MarketOrder> list(MarketOrder order, BasePageInfo pageInfo, Date start, Date end, Short[] orderStatusArray);

    /**
     * 按订单id显示商品详情
     * @param id 订单id
     * @author ycc
     * @since 2022/07/17 17:56
     */
    DetailVo detail(Integer id);

    /**
     * 发货
     * @param map orderId:订单id,shipChannel:快递公司,shipSn:快递编号
     * @author ycc
     * @since 2022/07/17 17:56 
     */
    int ship(Map map);

    /**
     * 退款
     * @param map orderId:订单id,refundMoney:退款金额
     * @author ycc
     * @since 2022/07/17 17:55 
     */
    int refund(Map map);

    /**
     * 删除订单，但不是直接删除，而是修改删除状态码
     * @param orderId 订单id
     * @author ycc
     * @since 2022/07/17 23:51 
     */
    int delete(int orderId);

    MarketOrder getOrderById(int id);
}
